Динамически загружать файл локали, используя Requirejs

У меня есть одностраничное приложение Marionette, основанное на RequireJS, которое должно поддерживать переводы.

Моя цель состоит в том, чтобы иметь файл словаря для каждого языка, и, основываясь на зарегистрированной конфигурации пользователя, загрузить соответствующий файл.

Поскольку большинство пользователей будут использовать английский язык, я хочу связать словарь английского языка в приложении во время сборки (используя r.js).

Я написал небольшой модуль Translator, который в основном упаковывает jed.js (библиотека, которую я использую для i18n):

//in myTranslator.js
define(function (require) {
    "use strict";

    var Jed = require("jed");
    var localeData = require("json!locales/en_US.json");

    var Translator = function () {
        var i18n = new Jed({
            "domain": "messages",
            "locale_data": localeData
        });
        return i18n;
    };
    return Translator;
});

//in app.js
define(function(require){
    var Translator = require("myTranslator");
    var translator = new Translator();
});

Как видите, данные локали загружаются из статического файла. Я хочу иметь возможность передать локаль в конструктор Translator, и, исходя из этого, загрузить правильный файл JSON.

Как это можно сделать вместе с сохранением английского JSON в комплекте со встроенным проектом?

Ответы на вопрос(2)

Ваш ответ на вопрос