Laden Sie die Locale-Datei dynamisch mit Requirejs

Ich habe eine einseitige Marionette-App, die auf RequireJS basiert und Übersetzungen unterstützen muss.

Mein Ziel ist es, eine Wörterbuchdatei für jede Sprache zu haben und basierend auf der Konfiguration des angemeldeten Benutzers die entsprechende Datei zu laden.

Da die meisten Benutzer Englisch verwenden, möchte ich das englische Wörterbuch während der Erstellung in der App bündeln (mit r.js).

Ich habe ein kleines Übersetzermodul geschrieben, das im Grunde jed.js umschließt (die Bibliothek, die ich für i18n benutze):

//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();
});

Wie Sie sehen, werden die Gebietsschemadaten aus einer statischen Datei geladen. Ich möchte in der Lage sein, das Gebietsschema an den Übersetzer-Konstruktor zu übergeben und auf dieser Grundlage die richtige JSON-Datei zu laden.

Wie kann dies zusammen mit der Beibehaltung des englischen JSON-Pakets mit dem erstellten Projekt erreicht werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage